<dl class="termlist" data-sort>
  <dt><dfn data-lt="arrays">array</dfn></dt><dd>
    In the JSON serialization, an array structure is represented as square brackets surrounding zero
    or more values. Values are separated by commas.
    In the <a>internal representation</a>, an array is an <em>ordered</em> collection of zero or more values.
    While JSON-LD uses the same array representation as JSON,
    the collection is <em>unordered</em> by default. While order is
    preserved in regular JSON arrays, it is not in regular JSON-LD arrays
    unless specifically defined (see
    <a data-cite="JSON-LD11CG#sets-and-lists" class="externalDFN">Sets and Lists</a> in
    the JSON-LD Syntax specification [[JSON-LD11CG]]).</dd>
  <dt><dfn data-lt="JSON objects">JSON object</dfn></dt><dd>
    In the JSON serialization, an <a data-cite="RFC7159#section-4" class="externalDFN">object</a> structure is represented as a pair of curly brackets surrounding zero or
    more key-value pairs. A key is a <a>string</a>. A single colon comes after
    each key, separating the key from the value. A single comma separates a value
    from a following key. In JSON-LD the keys in an object MUST be unique.
    In the <a>internal representation</a> a <a>JSON object</a> is equivalent to a
    <dfn data-cite="WEBIDL#dfn-dictionary" data-lt="dictionaries" class="preserve">dictionary</dfn> (see [[WEBIDL]]).</dd>
  <dt class="changed"><dfn data-lt="internal representation">JSON-LD internal representation</dfn></dt><dd class="changed">The JSON-LD
    internal representation is the result of transforming a JSON syntactic structure
    into the core data structures suitable for direct processing:
    <a>arrays</a>, <a>dictionaries</a>,
    <a>strings</a>, <a>numbers</a>, <a>booleans</a>, and <a>null</a>.</dd>
  <dt><dfn>null</dfn></dt><dd>
    The use of the <a data-cite="RFC7159#section-3" class="externalDFN">null</a> value within JSON-LD is used to
    ignore or reset values. A key-value pair in the <code>@context</code> where
    the value, or the <code>@id</code> of the value, is <code>null</code>
    explicitly decouples a term's association with an IRI. A key-value pair in
    the body of a <a>JSON-LD document</a> whose value is <code>null</code> has the
    same meaning as if the key-value pair was not defined. If
    <code>@value</code>, <code>@list</code>, or <code>@set</code> is set to
    <code>null</code> in expanded form, then the entire <a>JSON
    object</a> is ignored.</dd>
  <dt><dfn data-lt="numbers|JSON number|JSON numbers">number</dfn></dt><dd>
    In the JSON serialization, a <a data-cite="RFC7159#section-6" class="externalDFN">number</a> is similar to that used in most programming languages, except
    that the octal and hexadecimal formats are not used and that leading
    zeros are not allowed.
    In the <a>internal representation</a>, a <a>number</a> is equivalent to either
    a <dfn data-cite="WEBIDL#idl-long" class="preserve">long</dfn>
    or <dfn data-cite="WEBIDL#idl-double" class="preserve">double</dfn>, depending
    on if the number has a non-zero fractional part (see [[WEBIDL]]).</dd>
  <dt><dfn>scalar</dfn></dt><dd>
    A scalar is either a JSON <a>string</a>, <a>number</a>, <a>true</a>,
    or <a>false</a>.</dd>
  <dt><dfn data-lt="strings">string</dfn></dt><dd>
    A <a data-cite="RFC7159#section-7" class="externalDFN">string</a> is a sequence of zero or more Unicode (UTF-8) characters,
    wrapped in double quotes, using backslash escapes (if necessary). A
    character is represented as a single character string.</dd>
  <dt><dfn>true</dfn> and <dfn>false</dfn></dt><dd>
    <a data-cite="RFC7159#section-3" class="externalDFN">Values</a> that are used to express one of two possible
    <dfn data-cite="WEBIDL#idl-boolean" data-lt="booleans" class="preserve">boolean</dfn> states.</dd>
</dl>

<p>Furthermore, the following terminology is used throughout this document:</p>

<dl class="termlist" data-sort>
  <dt><dfn data-lt="absolute IRIs">absolute IRI</dfn></dt><dd>
    An <a data-cite="RFC3987#section-1.3" class="externalDFN">absolute IRI</a> is defined in [[!RFC3987]] containing a <em>scheme</em> along with a <em>path</em> and
    optional <em>query</em> and fragment segments.</dd>
  <dt><dfn>active context</dfn></dt><dd>
    A <a>context</a> that is used to resolve <a>terms</a> while the processing
    algorithm is running.</dd>
  <dt><dfn data-lt="base IRIs">base IRI</dfn></dt><dd>
    The <a>base IRI</a> is an <a>absolute IRI</a> established in the <a>context</a>,
    or is based on the <a>JSON-LD document</a> location. The <a>base IRI</a> is used to turn
    <a>relative IRIs</a> into <a>absolute IRIs</a>.</dd>
  <dt><dfn data-lt="blank nodes">blank node</dfn></dt><dd>
    A <a>node</a> in a <a>graph</a> that is neither an
    <a>IRI</a>, nor a <a>JSON-LD value</a>, nor a <a>list</a>.
    A <a data-cite="RDF11-CONCEPTS#dfn-blank-node" class="externalDFN">blank node</a> does not contain a de-referenceable
    identifier because it is either ephemeral in nature or does not contain information that needs to be
    linked to from outside of the <a>linked data graph</a>. A blank node is assigned an identifier starting with
    the prefix <code>_:</code>.</dd>
  <dt><dfn data-lt="blank node identifiers">blank node identifier</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-blank-node-identifier" class="externalDFN">blank node identifier</a> is a string that can be used as an identifier for a
    <a>blank node</a> within the scope of a JSON-LD document. Blank node identifiers
    begin with <code>_:</code>.</dd>
  <dt><dfn data-lt="compact iris">compact IRI</dfn></dt><dd>
    A compact IRI is has the form of <a>prefix</a>:<em>suffix</em> and is used as a way
    of expressing an <a>IRI</a> without needing to define separate <a>term</a> definitions for
    each IRI contained within a common vocabulary identified by <a>prefix</a>.</dd>
  <dt><dfn data-lt="contexts">context</dfn></dt><dd>
    A a set of rules for interpreting a <a>JSON-LD document</a> as specified in
    <a data-cite="JSON-LD11CG#the-context">The Context</a> of the JSON-LD Syntax specification [[JSON-LD11CG]].</dd>
  <dt><dfn>datatype IRI</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-datatype-iri" class="externalDFN">datatype IRI</a>
    as specified by [[RDF11-CONCEPTS]].</dd>
  <dt><dfn>default graph</dfn></dt><dd>
    The <a data-cite="RDF11-CONCEPTS#dfn-default-graph" class="externalDFN">default graph</a> is the only graph in a JSON-LD document which has no <a>graph name</a>.
    When executing an algorithm, the graph where data should be placed
    if a <a>named graph</a> is not specified.</dd>
  <dt><dfn>default language</dfn></dt><dd>
    The default language is set in the <a>context</a> using the <code>@language</code> key whose
    value MUST be a <a>string</a> representing a [[!BCP47]] language code or <code>null</code>.</dd>
  <dt><dfn>default object</dfn></dt><dd>
    A <a>default object</a> is a <a>JSON object</a> that has a <code>@default</code> member.</dd>
  <dt><dfn data-lt="edges">edge</dfn></dt><dd>
    Every <a>edge</a> has a direction associated with it and is labeled with
    an <a>IRI</a> or a <a>blank node identifier</a>. Within the JSON-LD syntax
    these edge labels are called <a>properties</a>. Whenever possible, an
    <a>edge</a> should be labeled with an <a>IRI</a>.</dd>
  <dt><dfn data-lt="expanded term definitions">expanded term definition</dfn></dt><dd>
    An expanded term definition, is a <a>term definition</a> where the value is a <a>JSON object</a>
    containing one or more <a>keyword</a> <a>properties</a> to define the associated <a>absolute IRI</a>,
    if this is a reverse property, the type associated with string values, and a container mapping.</dd>
  <dt><dfn data-lt="JSON-LD frame|frames">Frame</dfn></dt><dd>
    A <a>JSON-LD document</a>, which describes the form for transforming
    another <a>JSON-LD document</a> using matching and embedding rules.
    A frame document allows additional keywords and certain property values
    to describe the matching and transforming process.</dd>
  <dt><dfn data-lt="JSON-LD Processors|Processors">JSON-LD Processor</dfn></dt><dd>
    A <a>JSON-LD Processor</a> is a system which can perform the algorithms defined in [[JSON-LD11CG-API]].</dd>
  <dt><dfn>frame object</dfn></dt><dd>
    A frame object is a <a>dictionary</a> element within a <a>frame</a>
    which represents a specific portion of the <a>frame</a> matching either a
    <a>node object</a> or a <a>value object</a> in the input.</dd>
  <dt><dfn data-lt="graph names">graph name</dfn></dt><dd>
    The <a>IRI</a> identifying a <a data-cite="RDF11-CONCEPTS#dfn-graph-name" class="externalDFN">named graph</a>.</dd>
  <dt class="changed"><dfn data-lt="id maps">id map</dfn></dt><dd class="changed">
    An <a>id map</a> is a <a>JSON object</a> value of a <a>term</a> defined with
    <code>@container</code> set to <code>@id</code>, who's keys are
    interpreted as <a>IRIs</a> representing the <code>@id</code>
    of the associated <a>node object</a>; value MUST be a <a>node object</a>.
    If the value contains a property expanding to <code>@id</code>, it's value MUST
    be equivalent to the referencing key.</dd>
  <dt class="changed"><dfn data-lt="graph objects">graph object</dfn></dt><dd class="changed">
    A <a>graph object</a> represents a <a>named graph</a> represented as the
    value of a <a>property</a> within a <a>node object</a>. When expanded, a
    graph object MUST have an <code>@graph</code> member, and may also have
    <code>@id</code>, and <code>@index</code> members.
    A <dfn class="preserve" data-lt="simple graph objects">simple graph object</dfn> is a
    <a>graph object</a> which does not have an <code>@id</code> member. Note
    that <a>node objects</a> may have a <code>@graph</code> member, but are
    not considered <a>graph objects</a> if they include any other properties.
    A top-level object consisting of <code>@graph</code> is also not a <a>graph object</a>.</dd>
 <dt><dfn data-lt="index maps">index map</dfn></dt><dd>
  An <a>index map</a> is a <a>JSON object</a> value of a <a>term</a> defined with
  <code>@container</code> set to <code>@index</code>, whose values MUST be any of the following types:
    <a>string</a>,
    <a>number</a>,
    <a>true</a>,
    <a>false</a>,
    <a>null</a>,
    <a>node object</a>,
    <a>value object</a>,
    <a>list object</a>,
    <a>set object</a>, or
    an <a>array</a> of zero or more of the above possibilities.
  </dd>
  <dt><dfn data-lt="IRIs|Internationalized Resource Identifier"><abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt><dd>
    An <a data-cite="RFC3987#section-1.3" class="externalDFN">Internationalized Resource Identifier</a> as described in [[!RFC3987]].</dd>
  <dt><dfn data-lt="JSON-LD documents">JSON-LD document</dfn></dt><dd>
    A <a>JSON-LD document</a> is a serialization of a collection of
    <a>graphs</a> and comprises exactly one
    <a>default graph</a> and zero or more <a>named graphs</a>.</dd>
  <dt><dfn data-lt="JSON-LD values">JSON-LD value</dfn></dt><dd>
    A <a data-lt="JSON-LD values">JSON-LD value</a> is a <a>string</a>, a <a>number</a>,
    <a>true</a> or <a>false</a>, a <a>typed value</a>, or a
    <a>language-tagged string</a>.</dd>
  <dt><dfn data-lt="keywords">keyword</dfn></dt><dd>
    A JSON key that is specific to JSON-LD, specified in the JSON-LD Syntax specification [[JSON-LD11CG]]
    in the section titled <a data-cite="JSON-LD11CG#syntax-tokens-and-keywords">Syntax Tokens and Keywords</a>.</dd>
  <dt><dfn data-lt="language maps">language map</dfn></dt><dd>
    An <a>language map</a> is a <a>JSON object</a> value of a <a>term</a> defined with
    <code>@container</code> set to <code>@language</code>, whose keys MUST be <a>strings</a> representing
    [[!BCP47]] language codes and the values MUST be any of the following types:
      <a>null</a>,
      <a>string</a>, or
      an <a>array</a> of zero or more of the above possibilities.
    </dd>
  <dt><dfn data-lt="language-tagged strings">language-tagged string</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-language-tagged-string" class="externalDFN">language-tagged string</a> consists of a string and a non-empty language
    tag as defined by [[!BCP47]]. The <dfn>language tag</dfn> MUST be well-formed according to
    <a data-cite="BCP47#section-2.2.9">section 2.2.9 Classes of Conformance</a>
    of [[!BCP47]], and is normalized to lowercase.</dd>
  <dt><dfn>Linked Data</dfn></dt><dd>
    A set of documents, each containing a representation of a <a>linked data graph</a>.</dd>
  <dt><dfn data-lt="graph|graphs">linked data graph</dfn></dt><dd>
    A labeled directed <a data-cite="RDF11-CONCEPTS#dfn-rdf-graph" class="externalDFN">graph</a>, i.e., a set of <a>nodes</a>
    connected by <a>edges</a>,
    as specified in the <a data-cite="JSON-LD11CG#data-model">Data Model</a>
    section of the JSON-LD specification [[JSON-LD11CG]].
    A <a>linked data graph</a> is a generalized representation of an
    <a data-cite="RDF11-CONCEPTS#dfn-rdf-graph">RDF graph</a>
    as defined in [[!RDF-CONCEPTS]].</dd>
  <dt><dfn data-lt="lists">list</dfn></dt><dd>
    A <a>list</a> is an ordered sequence of <a>IRIs</a>,
    <a>blank nodes</a>, and <a>JSON-LD values</a>.
    See <dfn data-cite="RDF-SCHEMA#ch_collectionvocab" data-lt="collection" class="preserve">RDF collection</dfn>
    in [[RDF-SCHEMA]].</dd>
  <dt><dfn data-lt="list objects">list object</dfn></dt><dd>
    A <a>list object</a> is a <a>JSON object</a> that has an <code>@list</code>
    member.</dd>
  <dt><dfn data-lt="literals">literal</dfn></dt><dd>
    An <a>object</a> expressed as a value such as a string, number or in expanded form.</dd>
  <dt><dfn data-lt="local contexts">local context</dfn></dt><dd>
    A <a>context</a> that is specified within a <a>JSON object</a>,
    specified via the <code>@context</code> <a>keyword</a>.</dd>
  <dt><dfn data-lt="named graphs">named graph</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-named-graph" class="externalDFN">named graph</a> is a <a>linked data graph</a> that is identified by an <a>IRI</a> or <a>blank node</a>.</dd>
  <dt><dfn data-lt="implicitly named graphs">implicitly named graph</dfn></dt><dd>
    A <a>named graph</a> created from the value of a property having an
    <a>expanded term definition</a> where <code>@container</code> is set to  <code>@graph</code>.</dd>
  <dt><dfn data-lt="nested properties">nested property</dfn></dt><dd>
    A <a>nested property</a> is a <a>property</a> which is contained within an object referenced by
    a semantically meaningless <em>nesting property</em>.
  </dd>
  <dt><dfn data-lt="nodes">node</dfn></dt><dd>
    Every <a data-cite="RDF11-CONCEPTS#dfn-node" class="externalDFN">node</a> is an <a>IRI</a>, a <a>blank node</a>,
    a <a>JSON-LD value</a>, or a <a>list</a>.
    A piece of information that is represented in a <a>linked data graph</a>.</dd>
  <dt><dfn data-lt="node objects">node object</dfn></dt><dd>
    A <a>node object</a> represents zero or more <a>properties</a> of a
    <a>node</a> in the <a>graph</a> serialized by the
    <a>JSON-LD document</a>. A <a>JSON object</a> is a <a>node object</a>
    if it exists outside of the JSON-LD <a>context</a> and:
    <ul>
      <li>it does not contain the <code>@value</code>, <code>@list</code>,
        or <code>@set</code> keywords, or</li>
      <li>it is not the top-most <a>JSON object</a> in the JSON-LD document consisting
        of no other members than <code>@graph</code> and <code>@context</code>.</li>
    </ul>
  </dd>
  <dt><dfn data-lt="node references">node reference</dfn></dt><dd>
    A <a>node object</a> used to reference a node having only the
    <code>@id</code> key.</dd>
  <dt><dfn data-lt="objects">object</dfn></dt><dd>
    An <a data-cite="RDF11-CONCEPTS#dfn-object" class="externalDFN">object</a> is a <a>node</a> in a <a>linked data graph</a> with at least one incoming edge.
    See <dfn data-cite="RDF11-CONCEPTS#dfn-object" class="preserve">RDF object</dfn>in [[RDF11-CONCEPTS]].</dd>
  <dt><dfn data-lt="prefixes">prefix</dfn></dt><dd>
    A <a>prefix</a> is the first component of a <a>compact IRI</a> which comes from a
    <a>term</a> that maps to a string that, when prepended to the suffix of the <a>compact IRI</a>
    results in an <a>absolute IRI</a>.</dd>
  <dt><dfn>processing mode</dfn></dt><dd>
    The processing mode defines how a JSON-LD document is processed.
    By default, all documents are assumed to be conformant with
    <a data-cite="JSON-LD">JSON-LD 1.0</a> [[!JSON-LD]]. By defining
    a different version using the <code>@version</code> member in a
    <a>context</a>, or via explicit API option, other processing modes
    can be accessed. This specification defines extensions for the
    <code>json-ld-1.1</code> <a>processing mode</a>.</dd>
  <dt><dfn data-lt="properties">property</dfn></dt><dd>
    The <a>IRI</a> label of an edge in a <a>linked data graph</a>.
    See <dfn data-cite="RDF11-CONCEPTS#dfn-predicate" data-lt="predicate|predicates|RDF predicates" class="preserve">RDF predicate</dfn> in [[RDF11-CONCEPTS]].</dd>
    <dt><dfn data-lt="quads">quad</dfn></dt><dd>
    A piece of information that contains four items; a <a>subject</a>, a <a>property</a>,
    an <a>object</a>, and a <a>graph name</a>.</dd>
  <dt><dfn data-lt="dataset">RDF dataset</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-rdf-dataset" class="externalDFN">dataset</a> as specified by [[RDF11-CONCEPTS]] representing a collection of
    <a data-cite="RDF11-CONCEPTS#dfn-rdf-graph">RDF graphs</a>.</dd>
  <dt><dfn data-lt="resource">RDF resource</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-resource" class="externalDFN">resource</a> as specified by [[RDF11-CONCEPTS]].</dd>
  <dt><dfn data-lt="triple|triples|RDF triples">RDF triple</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-rdf-triple" class="externalDFN">triple</a> as specified by [[RDF11-CONCEPTS]].</dd>
  <dt><dfn data-lt="relative IRIs">relative IRI</dfn></dt><dd>
    A relative IRI is an <a>IRI</a> that is relative to some other <a>absolute IRI</a>,
    typically the <a>base IRI</a> of the document. Note that
    <a>properties</a>, values of <code>@type</code>, and values of <a>terms</a> defined to be <em>vocabulary relative</em>
    are resolved relative to the <a>vocabulary mapping</a>, not the <a>base IRI</a>.</dd>
  <dt><dfn>set object</dfn></dt><dd>
    A <a>set object</a> is a <a>JSON object</a> that has an <code>@set</code>
    member.</dd>
  <dt><dfn data-lt="subjects">subject</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-subject" class="externalDFN">subject</a> is a<a>node</a> in a <a>linked data graph</a> with at least one outgoing edge, related to an <a>object</a> node through a <a>property</a>.
    See <dfn data-cite="RDF11-CONCEPTS#dfn-subject" class="preserve">RDF subject</dfn> in [[RDF11-CONCEPTS]].</dd>
    <dt><dfn data-lt="terms">term</dfn></dt><dd>
    A <a>term</a> is a short word defined in a <a>context</a> that MAY be expanded to an <a>IRI</a>
  </dd>
  <dt><dfn data-lt="term definitions">term definition</dfn></dt><dd>
    A term definition is an entry in a <a>context</a>, where the key defines a <a>term</a> which may be used within
    a <a>JSON object</a> as a <a>property</a>, type, or elsewhere that a string is interpreted as a vocabulary item.
    Its value is either a string (<dfn data-lt="simple terms|simple term|simple term definitions">simple term definition</dfn>), expanding to an absolute IRI, or an <a>expanded term definition</a>.
  </dd>
  <dt class="changed"><dfn data-lt="type maps">type map</dfn></dt><dd class="changed">
    An <a>type map</a> is a <a>JSON object</a> value of a <a>term</a> defined with
    <code>@container</code> set to <code>@type</code>, who's keys are
    interpreted as <a>IRIs</a> representing the <code>@type</code>
    of the associated <a>node object</a>;
    value MUST be a <a>node object</a>, or <a>array</a> of node objects.
    If the value contains a property expanding to <code>@type</code>, it's values
    are merged with the map value when expanding.</dd>
  <dt><dfn>typed literal</dfn></dt><dd>
    A <a data-cite="RDF11-CONCEPTS#dfn-typed-literal" class="externalDFN">typed literal</a> is a <a>literal</a> with an associated <a>IRI</a>
    which indicates the literal's datatype.
    See <dfn data-cite="RDF11-CONCEPTS#dfn-literal" data-lt="RDF literals" class="preserve">RDF literal</dfn> in [[!RDF-CONCEPTS]].</dd>
  <dt><dfn data-lt="typed values">typed value</dfn></dt><dd>
    A <a>typed value</a> consists of a value, which is a <a>string</a>, and a type,
    which is an <a>IRI</a>.</dd>
  <dt><dfn data-lt="value objects">value object</dfn></dt><dd>
    A <a>value object</a> is a <a>JSON object</a> that has an <code>@value</code>
    member.</dd>
  <dt><dfn>vocabulary mapping</dfn></dt><dd>
    The vocabulary mapping is set in the <a>context</a> using the <code>@vocab</code> key whose
    value MUST be an <a>absolute IRI</a> <code>null</code>.</dd>
</dl>
